package fp.poczadly.client;

import java.util.List;

import com.google.gwt.user.client.rpc.AsyncCallback;

import fp.poczadly.shared.Message;
import fp.poczadly.shared.User;

public interface LiveChatServiceAsync {

	public void checkSession( String param, AsyncCallback<User> callback );
	
	public void addUser( User user, AsyncCallback<User> callback );
	
	public void removeUser( User user, AsyncCallback<User> callback );
	
	public void getAllUsers( AsyncCallback<List<String>> callback );
	
	public void getSelectedUser( String username, AsyncCallback<User> callback );
	
	public void receiveMessages( AsyncCallback<List<Message>> callback );
	
	public void receivePrivateMessages( User user, AsyncCallback<List<Message>> callback );
	
	public void sendMessage( Message message, AsyncCallback<Void> callback );
	
	public void removePrivateMessages( User from, AsyncCallback<Void> callback );
	
}
